package com.goods.controller.business.service;


import com.goods.common.error.BusinessException;
import com.goods.common.vo.business.ProductCategoryVO;
import com.goods.common.vo.business.ProductVO;
import com.goods.common.vo.system.PageVO;

public interface ProductService {

    /**
     *
     * @param
     * @return
     */
    PageVO<ProductVO> findProductList(Integer pageNum, Integer pageSize, ProductVO productVO);


    /**
     *添加物资
     * @param productVO
     */
    void add(ProductVO productVO);

    /**
     * 编辑
     * @param id
     * @return
     */
    ProductVO edit(Long id);

    /**
     * 修改
     * @param id
     * @param productVO
     */
    void update(Long id, ProductVO productVO);

    /**
     * 删除
     * @param id
     */
    void delete(Long id) throws Exception;

    /**
     * 移入回收站
     * @param id
     */
    void remove(Long id) throws Exception;

    /**
     * 审核
     * @param id
     */
    void publish(Long id) throws Exception;

    /**
     * 回收站恢复
     * @param id
     */
    void back(Long id) throws BusinessException;
}
